home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / wsc4vb24 / modem.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1998-08-12  |  12.5 KB  |  504 lines

  1. VERSION 2.00
  2. Begin Form MODEM 
  3.    AutoRedraw      =   -1  'True
  4.    BorderStyle     =   3  'Fixed Double
  5.    Caption         =   "MODEM"
  6.    ClientHeight    =   5595
  7.    ClientLeft      =   1890
  8.    ClientTop       =   2445
  9.    ClientWidth     =   8565
  10.    FontBold        =   0   'False
  11.    FontItalic      =   0   'False
  12.    FontName        =   "Courier New"
  13.    FontSize        =   8.25
  14.    FontStrikethru  =   0   'False
  15.    FontUnderline   =   0   'False
  16.    Height          =   6285
  17.    Left            =   1830
  18.    LinkTopic       =   "Form1"
  19.    ScaleHeight     =   5595
  20.    ScaleWidth      =   8565
  21.    Top             =   1815
  22.    Width           =   8685
  23.    Begin Timer Timer1 
  24.       Interval        =   125
  25.       Left            =   360
  26.       Top             =   240
  27.    End
  28.    Begin Menu menuLine 
  29.       Caption         =   "Line"
  30.       Begin Menu menuExit 
  31.          Caption         =   "Exit"
  32.       End
  33.       Begin Menu menuOnLine 
  34.          Caption         =   "OnLine"
  35.       End
  36.       Begin Menu menuOffLine 
  37.          Caption         =   "OffLine"
  38.          Enabled         =   0   'False
  39.       End
  40.    End
  41.    Begin Menu menuChange 
  42.       Caption         =   "Change"
  43.       Begin Menu menuPort 
  44.          Caption         =   "Port"
  45.          Begin Menu menuCOM1 
  46.             Caption         =   "COM1"
  47.             Checked         =   -1  'True
  48.          End
  49.          Begin Menu menuCOM2 
  50.             Caption         =   "COM2"
  51.          End
  52.          Begin Menu menuCOM3 
  53.             Caption         =   "COM3"
  54.          End
  55.          Begin Menu menuCOM4 
  56.             Caption         =   "COM4"
  57.          End
  58.       End
  59.       Begin Menu menuBaud 
  60.          Caption         =   "Baud"
  61.          Begin Menu menu110 
  62.             Caption         =   "110"
  63.          End
  64.          Begin Menu menu300 
  65.             Caption         =   "300"
  66.          End
  67.          Begin Menu menu1200 
  68.             Caption         =   "1200"
  69.          End
  70.          Begin Menu menu2400 
  71.             Caption         =   "2400"
  72.          End
  73.          Begin Menu menu4800 
  74.             Caption         =   "4800"
  75.          End
  76.          Begin Menu menu9600 
  77.             Caption         =   "9600"
  78.          End
  79.          Begin Menu menu19200 
  80.             Caption         =   "19200"
  81.             Checked         =   -1  'True
  82.          End
  83.          Begin Menu menu38400 
  84.             Caption         =   "38400"
  85.          End
  86.          Begin Menu menu57600 
  87.             Caption         =   "57600"
  88.          End
  89.       End
  90.       Begin Menu menuParity 
  91.          Caption         =   "Parity"
  92.          Begin Menu menuNone 
  93.             Caption         =   "None"
  94.             Checked         =   -1  'True
  95.          End
  96.          Begin Menu menuEven 
  97.             Caption         =   "Even"
  98.          End
  99.          Begin Menu menuOdd 
  100.             Caption         =   "Odd"
  101.          End
  102.       End
  103.       Begin Menu menuDataBits 
  104.          Caption         =   "DataBits"
  105.          Begin Menu menuSeven 
  106.             Caption         =   "Seven"
  107.          End
  108.          Begin Menu menuEight 
  109.             Caption         =   "Eight"
  110.             Checked         =   -1  'True
  111.          End
  112.       End
  113.       Begin Menu menuStopBits 
  114.          Caption         =   "StopBits"
  115.          Begin Menu menuOne 
  116.             Caption         =   "One"
  117.             Checked         =   -1  'True
  118.          End
  119.          Begin Menu menuTwo 
  120.             Caption         =   "Two"
  121.          End
  122.       End
  123.    End
  124.    Begin Menu menuStatus 
  125.       Caption         =   "Status"
  126.       Enabled         =   0   'False
  127.    End
  128.    Begin Menu menuControl 
  129.       Caption         =   "Control"
  130.       Enabled         =   0   'False
  131.       Begin Menu menuDTR 
  132.          Caption         =   "DTR"
  133.          Begin Menu menuSetDTR 
  134.             Caption         =   "Set"
  135.             Checked         =   -1  'True
  136.             Enabled         =   0   'False
  137.          End
  138.          Begin Menu menuClearDTR 
  139.             Caption         =   "Clear"
  140.          End
  141.       End
  142.       Begin Menu menuRTS 
  143.          Caption         =   "RTS"
  144.          Begin Menu menuSetRTS 
  145.             Caption         =   "Set"
  146.             Checked         =   -1  'True
  147.             Enabled         =   0   'False
  148.          End
  149.          Begin Menu menuClearRTS 
  150.             Caption         =   "Clear"
  151.          End
  152.       End
  153.    End
  154.    Begin Menu menuFlow 
  155.       Caption         =   "Flow_Control"
  156.       Enabled         =   0   'False
  157.       Begin Menu menuHardware 
  158.          Caption         =   "Hardware"
  159.       End
  160.       Begin Menu menuSoftware 
  161.          Caption         =   "Software"
  162.       End
  163.       Begin Menu menuNoFlow 
  164.          Caption         =   "NONE"
  165.          Checked         =   -1  'True
  166.       End
  167.    End
  168. ' MODEM.BAS
  169. Option Explicit
  170. Sub Form_KeyPress (KeyAscii As Integer)
  171.     Dim Code As Integer
  172.     '''MODEM.Print "["; Hex$(KeyAscii); "]";
  173.     If KeyAscii <> 10 Then
  174.       Code = SioPutc(ThePort, KeyAscii)
  175.     End If
  176. End Sub
  177. Sub Form_Load ()
  178.     Dim Row As Integer
  179.     DataFlag = 0
  180.     ParityText(0) = "N"
  181.     ParityText(1) = "O"
  182.     ParityText(2) = "E"
  183.     ParityText(3) = "M"
  184.     ParityText(4) = "S"
  185.     BaudRateTable(0) = "110"
  186.     BaudRateTable(1) = "300"
  187.     BaudRateTable(2) = "1200"
  188.     BaudRateTable(3) = "2400"
  189.     BaudRateTable(4) = "4800"
  190.     BaudRateTable(5) = "9600"
  191.     BaudRateTable(6) = "19200"
  192.     BaudRateTable(7) = "38400"
  193.     BaudRateTable(8) = "57600"
  194.     FatalFlag = 0
  195.     ThePort = COM1
  196.     TheBaudCode = Baud19200
  197.     TheDataBits = WordLength8
  198.     TheStopBits = OneStopBit
  199.     TheParity = NoParity
  200.     OnLineFlag = 0
  201.     Call ShowConfig
  202.     Call DisplayInit(MODEM)
  203. End Sub
  204. Sub menu110_Click ()
  205.   Call UncheckBaudRate
  206.   menu110.Checked = True
  207.   TheBaudCode = Baud110
  208.   Call SetBaud
  209.   Call ShowConfig
  210. End Sub
  211. Sub menu1200_Click ()
  212.   Call UncheckBaudRate
  213.   menu1200.Checked = True
  214.   TheBaudCode = Baud1200
  215.   Call SetBaud
  216.   Call ShowConfig
  217. End Sub
  218. Sub menu19200_Click ()
  219.   Call UncheckBaudRate
  220.   menu19200.Checked = True
  221.   TheBaudCode = Baud19200
  222.   Call SetBaud
  223.   Call ShowConfig
  224. End Sub
  225. Sub menu2400_Click ()
  226.   Call UncheckBaudRate
  227.   menu2400.Checked = True
  228.   TheBaudCode = Baud2400
  229.   Call SetBaud
  230.   Call ShowConfig
  231. End Sub
  232. Sub menu300_Click ()
  233.   Call UncheckBaudRate
  234.   menu300.Checked = True
  235.   TheBaudCode = Baud300
  236.   Call SetBaud
  237.   Call ShowConfig
  238. End Sub
  239. Sub menu38400_Click ()
  240.   Call UncheckBaudRate
  241.   menu38400.Checked = True
  242.   TheBaudCode = Baud38400
  243.   Call SetBaud
  244.   Call ShowConfig
  245. End Sub
  246. Sub menu4800_Click ()
  247.   Call UncheckBaudRate
  248.   menu4800.Checked = True
  249.   TheBaudCode = Baud4800
  250.   Call SetBaud
  251.   Call ShowConfig
  252. End Sub
  253. Sub menu57600_Click ()
  254.   Call UncheckBaudRate
  255.   menu57600.Checked = True
  256.   TheBaudCode = Baud57600
  257.   Call SetBaud
  258.   Call ShowConfig
  259. End Sub
  260. Sub menu9600_Click ()
  261.   Call UncheckBaudRate
  262.   menu9600.Checked = True
  263.   TheBaudCode = Baud9600
  264.   Call SetBaud
  265.   Call ShowConfig
  266. End Sub
  267. Sub menuClearDTR_Click ()
  268.   Dim Code As Integer
  269.   'clear DTR
  270.   Code = SioDTR(ThePort, Asc("C"))
  271.   menuSetDTR.Checked = False
  272.   menuClearDTR.Checked = True
  273.   menuSetDTR.Enabled = True
  274.   menuClearDTR.Enabled = False
  275. End Sub
  276. Sub menuClearRTS_Click ()
  277.   Dim Code As Integer
  278.   'clear RTS
  279.   Code = SioRTS(ThePort, Asc("C"))
  280.   menuSetRTS.Checked = False
  281.   menuClearRTS.Checked = True
  282.   menuSetRTS.Enabled = True
  283.   menuClearRTS.Enabled = False
  284. End Sub
  285. Sub menuCOM1_Click ()
  286.   Call UncheckComPorts
  287.   menuCOM1.Checked = True
  288.   ThePort = COM1
  289.   Call ShowConfig
  290. End Sub
  291. Sub menuCOM2_Click ()
  292.   Call UncheckComPorts
  293.   menuCOM2.Checked = True
  294.   ThePort = COM2
  295.   Call ShowConfig
  296. End Sub
  297. Sub menuCOM3_Click ()
  298.   Call UncheckComPorts
  299.   menuCOM3.Checked = True
  300.   ThePort = COM3
  301.   Call ShowConfig
  302. End Sub
  303. Sub menuCOM4_Click ()
  304.   Call UncheckComPorts
  305.   menuCOM4.Checked = True
  306.   ThePort = COM4
  307.   Call ShowConfig
  308. End Sub
  309. Sub menuData_Click ()
  310. DataFlag = 1 - DataFlag
  311. End Sub
  312. Sub menuEight_Click ()
  313.   Call UncheckDataBits
  314.   menuEight.Checked = True
  315.   TheDataBits = WordLength8
  316.   Call ShowConfig
  317. End Sub
  318. Sub menuEven_Click ()
  319.   Call UncheckParity
  320.   menuEven.Checked = True
  321.   TheParity = EvenParity
  322.   Call ShowConfig
  323. End Sub
  324. Sub menuExit_Click ()
  325.   Call GoOffLine
  326.   End
  327. End Sub
  328. Sub menuHardware_Click ()
  329. Dim Code As Integer
  330. Code = SioFlow(ThePort, Asc("H"))
  331. Call DisplayLine(MODEM, "[Hardware flow control enabled]")
  332. menuHardware.Checked = True
  333. menuSoftware.Checked = False
  334. menuNoflow.Checked = False
  335. End Sub
  336. Sub menuNoFlow_Click ()
  337. Dim Code As Integer
  338. Code = SioFlow(ThePort, Asc("N"))
  339. Call DisplayLine(MODEM, "[Flow control disabled]")
  340. menuHardware.Checked = False
  341. menuSoftware.Checked = False
  342. menuNoflow.Checked = True
  343. End Sub
  344. Sub menuNone_Click ()
  345.   Call UncheckParity
  346.   menuNone.Checked = True
  347.   TheParity = NoParity
  348.   Call ShowConfig
  349. End Sub
  350. Sub menuOdd_Click ()
  351.   Call UncheckDataBits
  352.   menuOdd.Checked = True
  353.   TheParity = OddParity
  354.   Call ShowConfig
  355. End Sub
  356. Sub menuOffLine_Click ()
  357.   '''menuChange.Enabled = True
  358.   menuOffline.Enabled = False
  359.   menuOnline.Enabled = True
  360.   Call GoOffLine
  361.   Call ShowConfig
  362. End Sub
  363. Sub menuOne_Click ()
  364.   Call UncheckStopBits
  365.   menuOne.Checked = True
  366.   TheStopBits = OneStopBit
  367.   Call ShowConfig
  368. End Sub
  369. Sub menuOnLine_Click ()
  370.   menuOffline.Enabled = True
  371.   menuOnline.Enabled = False
  372.   Call DisplayInit(MODEM)
  373.   Call GoOnLine
  374.   Call ShowConfig
  375. End Sub
  376. Sub menuSet_Click ()
  377. End Sub
  378. Sub menuSetDTR_Click ()
  379.   Dim Code As Integer
  380.   If OnLineFlag = 0 Then
  381.     Call DisplayLine(MODEM, "[Not online!]")
  382.     Exit Sub
  383.   End If
  384.   'set DTR
  385.   Code = SioDTR(ThePort, Asc("S"))
  386.   menuSetDTR.Checked = True
  387.   menuClearDTR.Checked = False
  388.   menuSetDTR.Enabled = False
  389.   menuClearDTR.Enabled = True
  390. End Sub
  391. Sub menuSetRTS_Click ()
  392.   Dim Code As Integer
  393.   'set DTR
  394.   Code = SioRTS(ThePort, Asc("S"))
  395.   menuSetRTS.Checked = True
  396.   menuClearRTS.Checked = False
  397.   menuSetRTS.Enabled = False
  398.   menuClearRTS.Enabled = True
  399. End Sub
  400. Sub menuSeven_Click ()
  401.   Call UncheckDataBits
  402.   menuSeven.Checked = True
  403.   TheDataBits = WordLength7
  404.   Call ShowConfig
  405. End Sub
  406. Sub menuSoftware_Click ()
  407. Dim Code As Integer
  408. Code = SioFlow(ThePort, Asc("S"))
  409. Call DisplayLine(MODEM, "[Software flow control enabled]")
  410. menuHardware.Checked = False
  411. menuSoftware.Checked = True
  412. menuNoflow.Checked = False
  413. End Sub
  414. Sub menuStatus_Click ()
  415. Dim S As String
  416. Dim N As Integer
  417. N = SioStatus(ThePort, &HFFFF)
  418. 'framing error ?
  419. If (WSC_FRAME And N) > 0 Then
  420.   Call DisplayLine(MODEM, "[Framing error]")
  421. End If
  422. 'overrun error ?
  423. If (WSC_OVERRUN And N) > 0 Then
  424.   Call DisplayLine(MODEM, "[Data overrun error]")
  425. End If
  426. 'parity error ?
  427. If (WSC_PARITY And N) > 0 Then
  428.   Call DisplayLine(MODEM, "[Data parity error]")
  429. End If
  430. 'RX overflow
  431. If (WSC_RXOVER And N) > 0 Then
  432.   Call DisplayLine(MODEM, "[Receive queue overflow]")
  433. End If
  434. 'TX overflow
  435. If (WSC_TXFULL And N) > 0 Then
  436.   Call DisplayLine(MODEM, "[Transmit queue overflow]")
  437. End If
  438. 'Show TX & RX queue sizes
  439. S = "[RX queue size =" + Str$(SioRxQue(ThePort))
  440. S = S + ", TX queue size =" + Str$(SioTxQue(ThePort)) + "]"
  441. Call DisplayLine(MODEM, S)
  442. 'BREAK signal status
  443. If SioBrkSig(ThePort, Asc("D")) > 0 Then
  444.   Call DisplayLine(MODEM, "[BREAK detected]")
  445. End If
  446. 'DSR status
  447. If SioDSR(ThePort) > 0 Then
  448.   Call DisplayLine(MODEM, "[DSR = 1]")
  449.   Call DisplayLine(MODEM, "[DSR = 0]")
  450. End If
  451. 'CTS status
  452. If SioCTS(ThePort) > 0 Then
  453.   Call DisplayLine(MODEM, "[CTS = 1]")
  454.   Call DisplayLine(MODEM, "[CTS = 0]")
  455. End If
  456. End Sub
  457. Sub menuTwo_Click ()
  458.   Call UncheckStopBits
  459.   menuTwo.Checked = True
  460.   TheStopBits = TwoStopBits
  461.   Call ShowConfig
  462. End Sub
  463. Sub Timer1_Timer ()
  464.   If OnLineFlag Then
  465.     'get incoming serial data
  466.     Call GetIncoming
  467.   End If
  468. End Sub
  469. Sub UncheckBaudRate ()
  470. 'uncheck all baud rates
  471. menu110.Checked = False
  472. menu300.Checked = False
  473. menu1200.Checked = False
  474. menu2400.Checked = False
  475. menu4800.Checked = False
  476. menu9600.Checked = False
  477. menu19200.Checked = False
  478. menu38400.Checked = False
  479. menu57600.Checked = False
  480. End Sub
  481. Sub UncheckComPorts ()
  482. 'uncheck all COM ports
  483. menuCOM1.Checked = False
  484. menuCOM2.Checked = False
  485. menuCOM3.Checked = False
  486. menuCOM4.Checked = False
  487. End Sub
  488. Sub UncheckDataBits ()
  489. 'uncheck data bits
  490. menuSeven.Checked = False
  491. menuEight.Checked = False
  492. End Sub
  493. Sub UncheckParity ()
  494. 'uncheck parity
  495. menuOdd.Checked = False
  496. menuEven.Checked = False
  497. menuTwo.Checked = False
  498. End Sub
  499. Sub UncheckStopBits ()
  500. 'uncheck stop bits
  501. menuOne.Checked = False
  502. menuNone.Checked = False
  503. End Sub
  504.